home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / DJLSR106.ARJ / SOUND.C < prev    next >
C/C++ Source or Header  |  1991-06-22  |  905b  |  31 lines

  1. /* This is file SOUND.C */
  2. /*
  3. ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. **
  5. ** This file is distributed under the terms listed in the document
  6. ** "copying.dj", available from DJ Delorie at the address above.
  7. ** A copy of "copying.dj" should accompany this file; if not, a copy
  8. ** should be available from where this file was obtained.  This file
  9. ** may not be distributed without a verbatim copy of "copying.dj".
  10. **
  11. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. */
  14.  
  15. #include "pc.h"
  16.  
  17. void sound(int freq)
  18. {
  19.   int scale;
  20.   if (freq == 0)
  21.   {
  22.     outportb(0x61, inportb(0x61) & ~3);
  23.     return;
  24.   }
  25.   scale = 1193046 / freq;
  26.   outportb(0x43, 0xb6);
  27.   outportb(0x42, scale & 0xff);
  28.   outportb(0x42, scale >> 8);
  29.   outportb(0x61, inportb(0x61) | 3);
  30. }
  31.